﻿/*
Copyright (c) 2009 Vratislav Cermak (vratacermak@gmail.com)
 
This file is part of TeachMe Project. See http://code.google.com/p/teach-me for more information.
 
TeachMe is an open source project. Using of TeachMe is free of charge.
It is distributed under GNU General Public License version 3 (GPLv3).
GPLv3 can be found at http://www.gnu.org/licenses/gpl.html.
 
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the license for more details.
*/

using System;
using System.Drawing;

namespace TeachMe.Application.Drawing
{
    public class ButtonDrawingContext
    {
        public Rectangle Rectangle { get; set; }
        public Image Normal { get; set; }
        public Image Hover { get; set; }
        public Image Pressed { get; set; }
        public Image Down { get; set; }

        public void Draw(Graphics graphics, ButtonState state)
        {
            Image image;

            switch (state)
            {
                case ButtonState.Normal:
                    image = Normal;
                    break;
                case ButtonState.Hover:
                    image = Hover;
                    break;
                case ButtonState.Pressed:
                    image = Pressed;
                    break;
                case ButtonState.Down:
                    image = Down;
                    break;
                default:
                    throw new ArgumentOutOfRangeException();
            }

            graphics.DrawImage(image, Rectangle);
        }
    }
}
